
const express=require('express')
// 第二步：引入mysql
const pool = require("../pool.js");
// 第三步：定义路由
const userRouter = express.Router();
// 查看hbb_user所有用户
userRouter.get('/',(req,res)=>{
  let sql=`select uid,uname,upwd,Attention,fans from hbb_user`
	pool.query(sql,(err,result)=>{
		if(err){
			throw err
		}
		res.send(result)
	})
})
// 查看指定用户信息
userRouter.get('/self',(req,res)=>{
  let id=req.query.uid
  let sql=`select * from hbb_user where uid= ?`
	pool.query(sql,id,(err,result)=>{
		if(err){
			throw err
		}
		res.send({code:200,msg:'查询成功','result':result})
	})
})
// 修改用户信息
userRouter.put('/edit',(req,res,next)=>{
	//获取post传递的参数
	console.log(req.body,'5555');
	var obj=req.body
	console.log(obj,'456')
	//验证各项参数不能为空
	/*
	if(!obj.uid){//obj.uid===''
		//响应uid这项不能为空,阻止往后执行
		return res.send({code:401,msg:'uid不能为空'})
	}
	*/
	//遍历对象属性
	// var i=400 //初始值
	// for(var k in obj){
	// 	//每遍历属性，分配一个状态码
	// 	i++
	// 	//如果属性值为空，提示对应的属性名这项不能为空
	// 	if(!obj[k]){
	// 		return res.send({code:i,msg:k+'不能为空'})
	// 	}
	// }
	//执行SQL命令，修改数据
	pool.query('update hbb_user set ? where uid=?',[obj,obj.uid],(err,r)=>{
		if(err){
			//如果SQL中出现错误，交给下一个错误处理中间件
			return next(err)
		}
		console.log(r)
		//结果是对象，如果对象下的affectedRows为0说明修改失败，否则修改成功
		if(r.changedRows===0){
			res.send({code:400,msg:'修改失败'})
		}else{
			res.send({code:200,msg:'修改成功'})
		}	
	})	
})
// 新增用户
userRouter.post('/add',(req,res)=>{
	let name=req.body.uname
	let upwd=req.body.upwd
	if(name==''){
		res.send({code:201,msg:'用户名不能为空'})
		return//阻止程序继续向后执行
	}
	if(upwd=''){
		res.send({code:201,msg:'密码不能为空'})
		return
		}
	
	//准备sql语句
	let sql='insert into hbb_user (uname,upwd) values (?,?)'
	pool.query(sql,[name,upwd],(err,result)=>{
		if(err)throw err
		res.send({code:200,msg:'用户新增成功!'})
	})
})
// 删除用户
userRouter.delete('/del',(req,res)=>{
	let id=req.query.uid
	//注意!从查询字符串中拿到的数据需要转换成数值
	uid=parseInt(id)
	let sql='delete from hbb_user where uid = ?'
	pool.query(sql,uid,(err,result)=>{
		if(err) throw err
		if(result.affectedRows==0){
			res.send({code:201,msg:'删除失败'})
		}else{
			res.send({code:200,msg:'删除成功'})
		}
	})
})
module.exports=userRouter